/*
 * Powered By [rapid-framework]
 * Web Site: http://www.rapid-framework.org.cn
 * Google Code: http://code.google.com/p/rapid-framework/
 * Since 2008 - 2011
 */

package com.nail.zhaogr.model;

import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;

import javacommon.base.BaseEntity;

import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.JoinColumns;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.OneToOne;
import javax.persistence.Table;
import javax.persistence.Transient;
import javax.validation.constraints.NotNull;

import org.apache.commons.lang.builder.EqualsBuilder;
import org.apache.commons.lang.builder.HashCodeBuilder;
import org.apache.commons.lang.builder.ToStringBuilder;
import org.apache.commons.lang.builder.ToStringStyle;
import org.hibernate.annotations.GenericGenerator;
import org.hibernate.validator.constraints.Length;
import org.hibernate.validator.constraints.NotBlank;

import cn.org.rapid_framework.util.DateConvertUtils;

/**
 * @author badqiu email:badqiu(a)gmail.com
 * @version 1.0
 * @since 1.0
 */


@Entity
@Table(name = "publish_info")
public class PublishInfo extends BaseEntity implements java.io.Serializable{
	private static final long serialVersionUID = 5454155825314635342L;
	
	//alias
	public static final String TABLE_ALIAS = "PublishInfo";
	public static final String ALIAS_PUBLISH_INFO_ID = "publishInfoId";
	public static final String ALIAS_MEMBER_ID = "memberId";
	public static final String ALIAS_CATEGORY_ID = "categoryId";
	public static final String ALIAS_CITY_ID = "cityId";
	public static final String ALIAS_NAME = "name";
	public static final String ALIAS_GENDER = "gender";
	public static final String ALIAS_PROFILE = "profile";
	public static final String ALIAS_PHONE = "phone";
	public static final String ALIAS_ADDRESS = "address";
	public static final String ALIAS_TAG = "tag";
	public static final String ALIAS_STATUS = "status";
	public static final String ALIAS_CITY_ONE = "cityOne";
	public static final String ALIAS_CITY_TWO = "cityTwo";
	public static final String ALIAS_CITY_THREE = "cityThree";
	public static final String ALIAS_LEVEL = "level";
	public static final String ALIAS_CREDIT = "credit";
	public static final String ALIAS_IMAGES = "images";
	public static final String ALIAS_PHOTO = "photo";
	public static final String ALIAS_ID_PHOTO = "idPhoto";
	public static final String ALIAS_GOOD_RATE = "goodRate";
	public static final String ALIAS_COMMENT_COUNT = "commentCount";
	public static final String ALIAS_CREATE_DATE = "createDate";
	public static final String ALIAS_UPDATE_TIME = "updateTime";
	public static final String ALIAS_LAST_COMMENT_ID = "lastCommentId";
	public static final String ALIAS_AGE = "age";
	public static final String ALIAS_WORK_AGE = "workAge";
	public static final String ALIAS_PARENT_CITY_ID = "parentCityId";
	public static final String ALIAS_FAVORITE_COUNT = "favoriteCount";
	public static final String ALIAS_COMMEND_COUNT = "commendCount";
	public static final String ALIAS_SERVICE_AREA = "serviceArea";
	public static final String ALIAS_ATTITUDE1 = "attitude1";
	public static final String ALIAS_ATTITUDE2 = "attitude2";
	public static final String ALIAS_ATTITUDE3 = "attitude3";
	public static final String ALIAS_ATTITUDE4 = "attitude4";
	public static final String ALIAS_QUALITY1 = "quality1";
	public static final String ALIAS_QUALITY2 = "quality2";
	public static final String ALIAS_QUALITY3 = "quality3";
	public static final String ALIAS_QUALITY4 = "quality4";
	public static final String ALIAS_ID = "id";
	public static final String ALIAS_WEBSITE = "website";
	public static final String ALIAS_TYPE = "type";
	
	//date formats
	public static final String FORMAT_CREATE_DATE = DATE_FORMAT;
	public static final String FORMAT_UPDATE_TIME = DATE_FORMAT;
	
	private int hasTrade;
	//可以直接使用: @Length(max=50,message="用户名长度不能大于50")显示错误消息
	//columns START
    /**
     * publishInfoId       db_column: publishInfoId 
     */ 	
	
	private java.lang.Long publishInfoId;
    /**
     * memberId       db_column: memberId 
     */ 	
	
	private java.lang.Long memberId;
    /**
     * categoryId       db_column: categoryId 
     */ 	
	
	private java.lang.Long categoryId;
    /**
     * cityId       db_column: cityId 
     */ 	
	
	private java.lang.Long cityId;
    /**
     * name       db_column: name 
     */ 	
	@NotBlank @Length(max=255)
	private java.lang.String name;
    /**
     * gender       db_column: gender 
     */ 	
	
	private java.lang.Integer gender;
    /**
     * profile       db_column: profile 
     */ 	
	@Length(max=2000)
	private java.lang.String profile;
    /**
     * phone       db_column: phone 
     */ 	
	@Length(max=20)
	private java.lang.String phone;
    /**
     * address       db_column: address 
     */ 	
	@Length(max=255)
	private java.lang.String address;
    /**
     * tag       db_column: tag 
     */ 	
	@Length(max=255)
	private java.lang.String tag;
    /**
     * status       db_column: status 
     */ 	
	
	private java.lang.Integer status;
    /**
     * cityOne       db_column: cityOne 
     */ 	
	@Length(max=50)
	private java.lang.String cityOne;
    /**
     * cityTwo       db_column: cityTwo 
     */ 	
	@Length(max=50)
	private java.lang.String cityTwo;
    /**
     * cityThree       db_column: cityThree 
     */ 	
	@Length(max=50)
	private java.lang.String cityThree;
    /**
     * level       db_column: level 
     */ 	
	
	private java.lang.Integer level;
    /**
     * credit       db_column: credit 
     */ 	
	
	private java.lang.Integer credit;
    /**
     * images       db_column: images 
     */ 	
	@Length(max=500)
	private java.lang.String images;
    /**
     * photo       db_column: photo 
     */ 	
	@Length(max=255)
	private java.lang.String photo;
    /**
     * idPhoto       db_column: idPhoto 
     */ 	
	@Length(max=500)
	private java.lang.String idPhoto;
    /**
     * goodRate       db_column: goodRate 
     */ 	
	
	private java.lang.Float goodRate;
    /**
     * commentCount       db_column: commentCount 
     */ 	
	
	private java.lang.Integer commentCount;
    /**
     * createDate       db_column: createDate 
     */ 	
	@NotNull 
	private java.util.Date createDate;
    /**
     * updateTime       db_column: updateTime 
     */ 	
	@NotNull 
	private java.util.Date updateTime;
    /**
     * lastCommentId       db_column: lastCommentId 
     */ 	
	
	private java.lang.Long lastCommentId;
    /**
     * age       db_column: age 
     */ 	
	
	private java.lang.Integer age;
    /**
     * workAge       db_column: workAge 
     */ 	
	
	private java.lang.Integer workAge;
    /**
     * parentCityId       db_column: parentCityId 
     */ 	
	
	private java.lang.Long parentCityId;
    /**
     * favoriteCount       db_column: favoriteCount 
     */ 	
	
	private java.lang.Integer favoriteCount=0;
    /**
     * commendCount       db_column: commendCount 
     */ 	
	
	private java.lang.Integer commendCount=0;
    /**
     * serviceArea       db_column: serviceArea 
     */ 	
	@Length(max=500)
	private java.lang.String serviceArea;
    /**
     * attitude1       db_column: attitude1 
     */ 	
	
	private java.lang.Integer attitude1=0;
    /**
     * attitude2       db_column: attitude2 
     */ 	
	
	private java.lang.Integer attitude2=0;
    /**
     * attitude3       db_column: attitude3 
     */ 	
	
	private java.lang.Integer attitude3=0;
    /**
     * attitude4       db_column: attitude4 
     */ 	
	
	private java.lang.Integer attitude4=0;
    /**
     * quality1       db_column: quality1 
     */ 	
	
	private java.lang.Integer quality1=0;
    /**
     * quality2       db_column: quality2 
     */ 	
	
	private java.lang.Integer quality2=0;
    /**
     * quality3       db_column: quality3 
     */ 	
	
	private java.lang.Integer quality3=0;
    /**
     * quality4       db_column: quality4 
     */ 	
	
	private java.lang.Integer quality4=0;
    /**
     * id       db_column: id 
     */ 	
	@Length(max=30)
	private java.lang.String id;
    /**
     * website       db_column: website 
     */ 	
	@Length(max=255)
	private java.lang.String website;
    /**
     * type       db_column: type 
     */ 	
	
	private java.lang.Integer type;
	
	private Comments comment;
	
	private Integer attitude;
	
	private Integer quality;
	//columns END


	public PublishInfo(){
	}

	public PublishInfo(
		java.lang.Long publishInfoId
	){
		this.publishInfoId = publishInfoId;
	}

	

	public void setPublishInfoId(java.lang.Long value) {
		this.publishInfoId = value;
	}
	
	@Id @GeneratedValue(generator="custom-id")
	@GenericGenerator(name="custom-id", strategy = "increment")
	@Column(name = "publishInfoId", unique = true, nullable = false, insertable = true, updatable = true, length = 19)
	public java.lang.Long getPublishInfoId() {
		return this.publishInfoId;
	}
	
	@Column(name = "memberId", unique = false, nullable = true, insertable = true, updatable = true, length = 19)
	public java.lang.Long getMemberId() {
		return this.memberId;
	}
	
	public void setMemberId(java.lang.Long value) {
		this.memberId = value;
	}
	
	@Column(name = "categoryId", unique = false, nullable = true, insertable = true, updatable = true, length = 19)
	public java.lang.Long getCategoryId() {
		return this.categoryId;
	}
	
	public void setCategoryId(java.lang.Long value) {
		this.categoryId = value;
	}
	
	@Column(name = "cityId", unique = false, nullable = true, insertable = true, updatable = true, length = 19)
	public java.lang.Long getCityId() {
		return this.cityId;
	}
	
	public void setCityId(java.lang.Long value) {
		this.cityId = value;
	}
	
	@Column(name = "name", unique = false, nullable = false, insertable = true, updatable = true, length = 255)
	public java.lang.String getName() {
		return this.name;
	}
	
	public void setName(java.lang.String value) {
		this.name = value;
	}
	
	@Column(name = "gender", unique = false, nullable = true, insertable = true, updatable = true, length = 10)
	public java.lang.Integer getGender() {
		return this.gender;
	}
	
	public void setGender(java.lang.Integer value) {
		this.gender = value;
	}
	
	@Column(name = "profile", unique = false, nullable = true, insertable = true, updatable = true, length = 2000)
	public java.lang.String getProfile() {
		return this.profile;
	}
	
	public void setProfile(java.lang.String value) {
		this.profile = value;
	}
	
	@Column(name = "phone", unique = false, nullable = true, insertable = true, updatable = true, length = 20)
	public java.lang.String getPhone() {
		return this.phone;
	}
	
	public void setPhone(java.lang.String value) {
		this.phone = value;
	}
	
	@Column(name = "address", unique = false, nullable = true, insertable = true, updatable = true, length = 255)
	public java.lang.String getAddress() {
		return this.address;
	}
	
	public void setAddress(java.lang.String value) {
		this.address = value;
	}
	
	@Column(name = "tag", unique = false, nullable = true, insertable = true, updatable = true, length = 255)
	public java.lang.String getTag() {
		return this.tag;
	}
	
	public void setTag(java.lang.String value) {
		this.tag = value;
	}
	
	@Column(name = "status", unique = false, nullable = true, insertable = true, updatable = true, length = 10)
	public java.lang.Integer getStatus() {
		return this.status;
	}
	
	public void setStatus(java.lang.Integer value) {
		this.status = value;
	}
	
	@Column(name = "cityOne", unique = false, nullable = true, insertable = true, updatable = true, length = 50)
	public java.lang.String getCityOne() {
		return this.cityOne;
	}
	
	public void setCityOne(java.lang.String value) {
		this.cityOne = value;
	}
	
	@Column(name = "cityTwo", unique = false, nullable = true, insertable = true, updatable = true, length = 50)
	public java.lang.String getCityTwo() {
		return this.cityTwo;
	}
	
	public void setCityTwo(java.lang.String value) {
		this.cityTwo = value;
	}
	
	@Column(name = "cityThree", unique = false, nullable = true, insertable = true, updatable = true, length = 50)
	public java.lang.String getCityThree() {
		return this.cityThree;
	}
	
	public void setCityThree(java.lang.String value) {
		this.cityThree = value;
	}
	
	@Column(name = "level", unique = false, nullable = true, insertable = true, updatable = true, length = 10)
	public java.lang.Integer getLevel() {
		return this.level;
	}
	
	public void setLevel(java.lang.Integer value) {
		this.level = value;
	}
	
	@Column(name = "credit", unique = false, nullable = true, insertable = true, updatable = true, length = 10)
	public java.lang.Integer getCredit() {
		return this.credit;
	}
	
	public void setCredit(java.lang.Integer value) {
		this.credit = value;
	}
	
	@Column(name = "images", unique = false, nullable = true, insertable = true, updatable = true, length = 500)
	public java.lang.String getImages() {
		return this.images;
	}
	
	public void setImages(java.lang.String value) {
		this.images = value;
	}
	
	@Column(name = "photo", unique = false, nullable = true, insertable = true, updatable = true, length = 255)
	public java.lang.String getPhoto() {
		return this.photo;
	}
	
	public void setPhoto(java.lang.String value) {
		this.photo = value;
	}
	
	@Column(name = "idPhoto", unique = false, nullable = true, insertable = true, updatable = true, length = 500)
	public java.lang.String getIdPhoto() {
		return this.idPhoto;
	}
	
	public void setIdPhoto(java.lang.String value) {
		this.idPhoto = value;
	}
	
	@Column(name = "goodRate", unique = false, nullable = true, insertable = true, updatable = true, length = 12)
	public java.lang.Float getGoodRate() {
		return this.goodRate;
	}
	
	public void setGoodRate(java.lang.Float value) {
		this.goodRate = value;
	}
	
	@Column(name = "commentCount", unique = false, nullable = true, insertable = true, updatable = true, length = 10)
	public java.lang.Integer getCommentCount() {
		return this.commentCount;
	}
	
	public void setCommentCount(java.lang.Integer value) {
		this.commentCount = value;
	}
	
	@Transient
	public String getCreateDateString() {
		return DateConvertUtils.format(getCreateDate(), FORMAT_CREATE_DATE);
	}
	public void setCreateDateString(String value) {
		setCreateDate(DateConvertUtils.parse(value, FORMAT_CREATE_DATE,java.util.Date.class));
	}
	
	@Column(name = "createDate", unique = false, nullable = false, insertable = true, updatable = true, length = 0)
	public java.util.Date getCreateDate() {
		return this.createDate;
	}
	
	public void setCreateDate(java.util.Date value) {
		this.createDate = value;
	}
	
	@Transient
	public String getUpdateTimeString() {
		return DateConvertUtils.format(getUpdateTime(), FORMAT_UPDATE_TIME);
	}
	public void setUpdateTimeString(String value) {
		setUpdateTime(DateConvertUtils.parse(value, FORMAT_UPDATE_TIME,java.util.Date.class));
	}
	
	@Column(name = "updateTime", unique = false, nullable = false, insertable = true, updatable = true, length = 0)
	public java.util.Date getUpdateTime() {
		return this.updateTime;
	}
	
	public void setUpdateTime(java.util.Date value) {
		this.updateTime = value;
	}
	
	@Column(name = "lastCommentId", unique = false, nullable = true, insertable = true, updatable = true, length = 19)
	public java.lang.Long getLastCommentId() {
		return this.lastCommentId;
	}
	
	public void setLastCommentId(java.lang.Long value) {
		this.lastCommentId = value;
	}
	
	@Column(name = "age", unique = false, nullable = true, insertable = true, updatable = true, length = 10)
	public java.lang.Integer getAge() {
		return this.age;
	}
	
	public void setAge(java.lang.Integer value) {
		this.age = value;
	}
	
	@Column(name = "workAge", unique = false, nullable = true, insertable = true, updatable = true, length = 10)
	public java.lang.Integer getWorkAge() {
		return this.workAge;
	}
	
	public void setWorkAge(java.lang.Integer value) {
		this.workAge = value;
	}
	
	@Column(name = "parentCityId", unique = false, nullable = true, insertable = true, updatable = true, length = 19)
	public java.lang.Long getParentCityId() {
		return this.parentCityId;
	}
	
	public void setParentCityId(java.lang.Long value) {
		this.parentCityId = value;
	}
	
	@Column(name = "favoriteCount", unique = false, nullable = true, insertable = true, updatable = true, length = 10)
	public java.lang.Integer getFavoriteCount() {
		return this.favoriteCount;
	}
	
	public void setFavoriteCount(java.lang.Integer value) {
		this.favoriteCount = value;
	}
	
	@Column(name = "commendCount", unique = false, nullable = true, insertable = true, updatable = true, length = 10)
	public java.lang.Integer getCommendCount() {
		return this.commendCount;
	}
	
	public void setCommendCount(java.lang.Integer value) {
		this.commendCount = value;
	}
	
	@Column(name = "serviceArea", unique = false, nullable = true, insertable = true, updatable = true, length = 500)
	public java.lang.String getServiceArea() {
		return this.serviceArea;
	}
	
	public void setServiceArea(java.lang.String value) {
		this.serviceArea = value;
	}
	
	@Column(name = "attitude1", unique = false, nullable = true, insertable = true, updatable = true, length = 10)
	public java.lang.Integer getAttitude1() {
		return this.attitude1;
	}
	
	public void setAttitude1(java.lang.Integer value) {
		this.attitude1 = value;
	}
	
	@Column(name = "attitude2", unique = false, nullable = true, insertable = true, updatable = true, length = 10)
	public java.lang.Integer getAttitude2() {
		return this.attitude2;
	}
	
	public void setAttitude2(java.lang.Integer value) {
		this.attitude2 = value;
	}
	
	@Column(name = "attitude3", unique = false, nullable = true, insertable = true, updatable = true, length = 10)
	public java.lang.Integer getAttitude3() {
		return this.attitude3;
	}
	
	public void setAttitude3(java.lang.Integer value) {
		this.attitude3 = value;
	}
	
	@Column(name = "attitude4", unique = false, nullable = true, insertable = true, updatable = true, length = 10)
	public java.lang.Integer getAttitude4() {
		return this.attitude4;
	}
	
	public void setAttitude4(java.lang.Integer value) {
		this.attitude4 = value;
	}
	
	@Column(name = "quality1", unique = false, nullable = true, insertable = true, updatable = true, length = 10)
	public java.lang.Integer getQuality1() {
		return this.quality1;
	}
	
	public void setQuality1(java.lang.Integer value) {
		this.quality1 = value;
	}
	
	@Column(name = "quality2", unique = false, nullable = true, insertable = true, updatable = true, length = 10)
	public java.lang.Integer getQuality2() {
		return this.quality2;
	}
	
	public void setQuality2(java.lang.Integer value) {
		this.quality2 = value;
	}
	
	@Column(name = "quality3", unique = false, nullable = true, insertable = true, updatable = true, length = 10)
	public java.lang.Integer getQuality3() {
		return this.quality3;
	}
	
	public void setQuality3(java.lang.Integer value) {
		this.quality3 = value;
	}
	
	@Column(name = "quality4", unique = false, nullable = true, insertable = true, updatable = true, length = 10)
	public java.lang.Integer getQuality4() {
		return this.quality4;
	}
	
	public void setQuality4(java.lang.Integer value) {
		this.quality4 = value;
	}
	
	@Column(name = "id", unique = false, nullable = true, insertable = true, updatable = true, length = 30)
	public java.lang.String getId() {
		return this.id;
	}
	
	public void setId(java.lang.String value) {
		this.id = value;
	}
	
	@Column(name = "website", unique = false, nullable = true, insertable = true, updatable = true, length = 255)
	public java.lang.String getWebsite() {
		return this.website;
	}
	
	public void setWebsite(java.lang.String value) {
		this.website = value;
	}
	
	@Column(name = "type", unique = false, nullable = true, insertable = true, updatable = true, length = 10)
	public java.lang.Integer getType() {
		return this.type;
	}
	
	public void setType(java.lang.Integer value) {
		this.type = value;
	}
	
	
	private Set psnServiceAreas = new HashSet(0);
	public void setPsnServiceAreas(Set<PsnServiceArea> psnServiceArea){
		this.psnServiceAreas = psnServiceArea;
	}
	
	@OneToMany(cascade = { CascadeType.MERGE }, fetch = FetchType.LAZY, mappedBy = "publishInfo")
	public Set<PsnServiceArea> getPsnServiceAreas() {
		return psnServiceAreas;
	}
	
	private Set publishInfoCategorys = new HashSet(0);
	public void setPublishInfoCategorys(Set<PublishInfoCategory> publishInfoCategory){
		this.publishInfoCategorys = publishInfoCategory;
	}
	
	@OneToMany(cascade = { CascadeType.MERGE }, fetch = FetchType.LAZY, mappedBy = "publishInfo")
	public Set<PublishInfoCategory> getPublishInfoCategorys() {
		return publishInfoCategorys;
	}
	
	private Set advertisements = new HashSet(0);
	public void setAdvertisements(Set<Advertisement> advertisement){
		this.advertisements = advertisement;
	}
	
	@OneToMany(cascade = { CascadeType.MERGE }, fetch = FetchType.LAZY, mappedBy = "publishInfo")
	public Set<Advertisement> getAdvertisements() {
		return advertisements;
	}
	
	private Set myCommends = new HashSet(0);
	public void setMyCommends(Set<MyCommend> myCommend){
		this.myCommends = myCommend;
	}
	
	@OneToMany(cascade = { CascadeType.MERGE }, fetch = FetchType.LAZY, mappedBy = "publishInfo")
	public Set<MyCommend> getMyCommends() {
		return myCommends;
	}
	
	private Set myContacts = new HashSet(0);
	public void setMyContacts(Set<MyContact> myContact){
		this.myContacts = myContact;
	}
	
	@OneToMany(cascade = { CascadeType.MERGE }, fetch = FetchType.LAZY, mappedBy = "publishInfo")
	public Set<MyContact> getMyContacts() {
		return myContacts;
	}
	
	private Set corpHrs = new HashSet(0);
	public void setCorpHrs(Set<CorpHr> corpHr){
		this.corpHrs = corpHr;
	}
	
	@OneToMany(cascade = { CascadeType.MERGE }, fetch = FetchType.LAZY, mappedBy = "publishInfo")
	public Set<CorpHr> getCorpHrs() {
		return corpHrs;
	}
	
	private Set myFavorites = new HashSet(0);
	public void setMyFavorites(Set<MyFavorite> myFavorite){
		this.myFavorites = myFavorite;
	}
	
	@OneToMany(cascade = { CascadeType.MERGE }, fetch = FetchType.LAZY, mappedBy = "publishInfo")
	public Set<MyFavorite> getMyFavorites() {
		return myFavorites;
	}
	
	private List commentss = new ArrayList();
	public void setCommentss(List<Comments> comments){
		this.commentss = comments;
	}
	
	@OneToMany(cascade = { CascadeType.MERGE }, fetch = FetchType.LAZY, mappedBy = "publishInfo")
	public List<Comments> getCommentss() {
		return commentss;
	}
	
	private Category category;
	public void setCategory(Category category){
		this.category = category;
	}
	
	@ManyToOne(cascade = {}, fetch = FetchType.LAZY)
	@JoinColumns({
		@JoinColumn(name = "categoryId",nullable = false, insertable = false, updatable = false) 
	})
	public Category getCategory() {
		return category;
	}
	
	private Members members;
	public void setMembers(Members members){
		this.members = members;
	}
	
	@ManyToOne(cascade = {}, fetch = FetchType.LAZY)
	@JoinColumns({
		@JoinColumn(name = "memberId",nullable = false, insertable = false, updatable = false) 
	})
	public Members getMembers() {
		return members;
	}
	
	private City city;
	public void setCity(City city){
		this.city = city;
	}
	
	@ManyToOne(cascade = {}, fetch = FetchType.LAZY)
	@JoinColumns({
		@JoinColumn(name = "cityId",nullable = false, insertable = false, updatable = false) 
	})
	public City getCity() {
		return city;
	}
	
	@OneToOne(cascade = {}, fetch = FetchType.LAZY)
	@JoinColumn(name = "lastCommentId",nullable = false, insertable = false, updatable = false)
	public Comments getComment() {
		return comment;
	}
	
	public void setComment(Comments comment) {
		this.comment = comment;
	}
	
	@Column(name = "attitude", unique = false, nullable = true, insertable = true, updatable = true, length = 10)
	public java.lang.Integer getAttitude() {
		return this.attitude;
	}
	
	public void setAttitude(java.lang.Integer value) {
		this.attitude = value;
	}
	
	@Column(name = "quality", unique = false, nullable = true, insertable = true, updatable = true, length = 10)
	public java.lang.Integer getQuality() {
		return this.quality;
	}
	
	public void setQuality(java.lang.Integer value) {
		this.quality = value;
	}

	public String toString() {
		return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
			.append("PublishInfoId",getPublishInfoId())
			.append("MemberId",getMemberId())
			.append("CategoryId",getCategoryId())
			.append("CityId",getCityId())
			.append("Name",getName())
			.append("Gender",getGender())
			.append("Profile",getProfile())
			.append("Phone",getPhone())
			.append("Address",getAddress())
			.append("Tag",getTag())
			.append("Status",getStatus())
			.append("CityOne",getCityOne())
			.append("CityTwo",getCityTwo())
			.append("CityThree",getCityThree())
			.append("Level",getLevel())
			.append("Credit",getCredit())
			.append("Images",getImages())
			.append("Photo",getPhoto())
			.append("IdPhoto",getIdPhoto())
			.append("GoodRate",getGoodRate())
			.append("CommentCount",getCommentCount())
			.append("CreateDate",getCreateDate())
			.append("UpdateTime",getUpdateTime())
			.append("LastCommentId",getLastCommentId())
			.append("Age",getAge())
			.append("WorkAge",getWorkAge())
			.append("ParentCityId",getParentCityId())
			.append("FavoriteCount",getFavoriteCount())
			.append("CommendCount",getCommendCount())
			.append("ServiceArea",getServiceArea())
			.append("Attitude1",getAttitude1())
			.append("Attitude2",getAttitude2())
			.append("Attitude3",getAttitude3())
			.append("Attitude4",getAttitude4())
			.append("Quality1",getQuality1())
			.append("Quality2",getQuality2())
			.append("Quality3",getQuality3())
			.append("Quality4",getQuality4())
			.append("Id",getId())
			.append("Website",getWebsite())
			.append("Type",getType())
			.toString();
	}
	
	public int hashCode() {
		return new HashCodeBuilder()
			.append(getPublishInfoId())
			.toHashCode();
	}
	
	public boolean equals(Object obj) {
		if(obj instanceof PublishInfo == false) return false;
		if(this == obj) return true;
		PublishInfo other = (PublishInfo)obj;
		return new EqualsBuilder()
			.append(getPublishInfoId(),other.getPublishInfoId())
			.isEquals();
	}
	
	@Transient
	public int getHasTrade() {
		return hasTrade;
	}

	public void setHasTrade(int hasTrade) {
		this.hasTrade = hasTrade;
	}
}

